/*
 * imprimir.java
 *
 * Created on 25 de julio de 2007, 11:03
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package administracion.helper;

import java.text.MessageFormat;
/**
 *
 * @author admin
 */
public class imprimir {
    
    /** Creates a new instance of imprimir */
    public imprimir() {
    }
    public static void tabla(javax.swing.JTable tabla,boolean redimensionar,String titulo,String pie)throws java.awt.print.PrinterException{
        javax.swing.JTable.PrintMode mode;
       
        MessageFormat cabecera,piepagina;
        if(redimensionar)
            mode=javax.swing.JTable.PrintMode.FIT_WIDTH;
        else
            mode=javax.swing.JTable.PrintMode.NORMAL;
        
        if(titulo.equalsIgnoreCase("")){
            cabecera=new MessageFormat("Impresion de la tabla "+tabla.getName());
        }else{
            cabecera=new MessageFormat(titulo);
        }
         
        
        if(pie.equalsIgnoreCase("")){
               String auxpie=MessageFormat.format("Impreso el {0,date} a las {0,time}",new java.util.Date());
               piepagina=new MessageFormat("Pagina {0} "+auxpie);
               
        }else{
               String auxpie=MessageFormat.format(pie+"\nImpreso el {0,date} a las {0,time}",new java.util.Date());
               piepagina=new MessageFormat("Pagina {0} "+auxpie);
        }
        
        tabla.print(mode,cabecera,piepagina);
        
        
    }
    
    public static String errorSQL(int codigo)throws Exception {
        String retorno="";
        switch(codigo){
            
            case 21:    retorno="Error Fatal\nAvise al administrador del sistema";
                        break;
            
            case 201:   retorno="Se requiere un dato que no ha sido ingresado";
                        break;
                        
            case 210:   retorno="El formato de la fecha ingresada es invalido";
                        break;
                        
            case 211:   retorno="La tabla usada se ha da�ado\nAvise al administrador del sistema";
                        break;
            
            case 216:   retorno="Se requieren mas datos para realizar la funcion requerida";
                        break;
                        
            case 225:   retorno="Los datos ingresados no son validos";
                        break;
                        
            case 233:   retorno="Se requieren llenar todos los datos para ejecutar la funcion solicitada";
                        break;
                        
            case 241:   retorno="La fecha ingresada no respeta el parametro utilizado";
                        break;
                        
            case 242:   retorno="La fecha ingresada no respeta el parametro utilizado";
                        break;
                        
            case 291:   retorno="Error al convertir los datos";
                        break;
                        
            case 425:   retorno="Error al convertir los datos";
                        break;
                        
            case 426:   retorno="Algun dato ingresado no corresponde con al tama�o determinado en la Base de datos";
                        break;
                        
            case 511:   retorno="Algun valor ingresado es mayor al valor admisible en la Base de datos";
                        break;
                        
            case 515:   retorno="No se puede insertar el registro\nRevise la consistencia de los datos y/o avise al Administrador del sistema";
                        break;
                        
                        
            case 565:   retorno="La consulta reqalizada es demasiado complicada";
                        break;
             
            case 547:   retorno="Uno de los valores ingresados no es valido\n" +
                                "Revise que los datos sean correctos";
                        break;
                        
            case 602:   retorno="No se encontro la tabla que se planea usar o un campo de la misma\n" +
                                "Avise al administrador del sistema";
                        break;
                        
            case 603:   retorno="No se encontro la tabla que se planea usar o un campo de la misma\n" +
                                "Avise al administrador del sistema";
                        break;
                        
            case 615:   retorno="No se puede conectar con la base de datos\nCierre el programa e intentelo de nuevo o avise al administrador";
                        break;
             
            case 681:   retorno="Ha dejado un dato en blanco que es de llenado obligatorio";
                        break;
                        
            case 947:   retorno="Error al cerrar la Base de Datos\n" +
                                "Avise al administrador del sistema";
                        break;
                        
            case 913:   retorno="No se puede conectar con la base de datos\nCierre el programa e intentelo de nuevo o avise al administrador";
                        break;
                        
            case 1509:  retorno="Hubo un error al ordenar los datos\nIntentenlo mas tarde";
                        break;
                        
            case 2627:  retorno="No se puede insertar el registro\nRevise la consistencia de los datos y/o avise al Administrador del sistema";
                        break;
                        
            case 3431:  retorno="Error al recuperar datos de la base de datos debido a que hay operaciones por resolver\n" +
                                "Vuelva a intentarlo o avise al Administrador del Sistema";
                        break;
                        
            case 3437:  retorno="Error al recuperar datos de la base de datos debido a que hay operaciones por resolver\n" +
                                "Vuelva a intentarlo o avise al Administrador del Sistema";
                        break;
            case 8512:  retorno="Error con el coordinador de transacciones distribuidas de Microsoft\n" +
                                "Avise al administrador del sistema";
                        break;
                        
            case 8513:  retorno="Error con el coordinador de transacciones distribuidas de Microsoft\n" +
                                "Avise al administrador del sistema";
                        break;
                
            case 8514:  retorno="Error con el coordinador de transacciones distribuidas de Microsoft\n" +
                                "Avise al administrador del sistema";
                        break;
            case 8515:  retorno="Error con el coordinador de transacciones distribuidas de Microsoft\n" +
                                "Avise al administrador del sistema";
                        break;
                        
            case 8517:  retorno="Error con el coordinador de transacciones distribuidas de Microsoft\n" +
                                "Avise al administrador del sistema";
                        break;
                    
            case 8522:  retorno="Error con el coordinador de transacciones distribuidas de Microsoft\n" +
                                "Avise al administrador del sistema";
                        break;
            
            case 8631:  retorno="La consulta es demasiado complicada";
                        break;
                 
            case 8632:  retorno="La consulta es demasiado complicada";
                        break;
                        
            case 9100:  retorno="El identificador de la tabla a usar esta da�ado\nAvise al administrador del Sistema";
                        break;
                        
            case 17813: retorno="El servidor tuvo problemas y ha cerrado su conexion\n" +
                                 "Si el problema persiste, avise al administrador del sistema";
                        break;
                        
            case 26042: retorno="El proveedor HTTP del servidor ha fallado\n" +
                                "Avise al administrador del sistema";
                        break;
                        
            case 26044: retorno="El Servidor ha tenido un error grave y ha cerrado su conecion\n" +
                                "Si el problema persiste asive al adminsitrador del sistema";
                         break;
                         
            case 26046: retorno="El Servidor ha tenido un error grave y ha cerrado su conecion\n" +
                                "Si el problema persiste asive al adminsitrador del sistema";
                         break;
                
            case 26050: retorno="El Servidor ha tenido un error grave y ha cerrado su conecion\n" +
                                "Si el problema persiste asive al adminsitrador del sistema";
                         break;
                
            default:     throw new Exception();
        }
        return retorno;
    }
}
